console.log('this is  myAccount.js');
var _account_service = require('service/account-service.js');

require('page/common/header/index.js');
var myAccount = {
    init: function () {
        this.bindEvents();
        this.loadAccountInfo();
        return this;
    },
    //点击事件
    bindEvents: function () {
        var _this = this;
        //检验密码
        $('#newPassword').on('keyup', function () {

            if (this.value.length < 8 && this.value.length > 2) {

                $('#passwordTips').attr("class", 'successMsg').text('密码可用');
            }
            else {

                $('#passwordTips').attr("class", 'errorMsg').text('密码长度大于2不超过7');
            }
        });
        $('#repeatedPassword').on('keyup', function () {

            if (this.value === $('#newPassword').val()) {
                console.log("yes");
                $('#repeatedPasswordTips').attr("class", null).text('');

            }
            else {
                console.log("no");
                $('#repeatedPasswordTips').attr("class", 'errorMsg').text('密码不一致');
            }
        });


        //     //修改密码


        //     $('#updateSignOn').on('click', function () {
        //         if ($('#newPassword').val() === $('#repeatedPassword').val()) {
        //             var account = {
        //                 username: $('#username').val(),
        //                 password: $('#newPassword').val(),
        //             };
        //             console.log(account.username);
        //             console.log(account.password);
        //             _account_service.updatePassword(
        //                 account,
        //                 function (resp) {
        //                     $('#newPassword', '#repeatedPassword').val('');
        //                     alert('密码修改成功!');

        //                 },
        //                 function (errorMsg) {
        //                     alert('密码修改失败!');
        //                 }
        //             );
        //         }
        //         else {
        //             alert("密码不一致");
        //         }
        //     });
        //     //更新信息
        //     $('#updateAll').on('click', function () {
        //         _account_service.update(
        //             $('#updateAccount').serialize(),
        //             function (resp) {
        //                 _this.showMessage(resp);
        //                 alert('账户修改成功!');

        //             },
        //             function (errorMsg) {
        //                 alert('密码修改失败!');
        //             }
        //         )
        //     });

        // },
        // 🆕 整合后的提交事件
        // $('#submitAll').on('click', function () {
        //     var newPwd = $('#newPassword').val();
        //     var repeatPwd = $('#repeatedPassword').val();

        //     // 校验密码一致性
        //     if (newPwd !== repeatPwd) {
        //         alert("❌ 两次密码不一致！");
        //         return;
        //     }

        //     // 可选密码长度校验
        //     if (newPwd.length > 0 && (newPwd.length <= 2 || newPwd.length >= 8)) {
        //         alert("⚠️ 密码长度应在 3 到 7 位之间！");
        //         return;
        //     }

        //     // 更新账户信息
        //     function updateAccountInfo() {
        //         _account_service.updateAll(
        //             $('#updateAccount').serialize(),
        //             function (resp) {
        //                 _this.showMessage(resp);
        //                 alert('✅ 账户信息更新成功！');
        //                 $('#newPassword').val('');
        //                 $('#repeatedPassword').val('');
        //             },
        //             function (errorMsg) {
        //                 alert('❌ 账户信息更新失败！');
        //             }
        //         );
        //     }

        //     updateAccountInfo();
        //     // // 如果有密码输入，先更新密码再更新信息
        //     // if (newPwd.length > 0) {
        //     //     var account = {
        //     //         username: $('#username').val(),
        //     //         password: newPwd
        //     //     };
        //     //     _account_service.updatePassword(
        //     //         account,
        //     //         function () {
        //     //             console.log("✅ 密码修改成功");
        //     //             updateAccountInfo();
        //     //         },
        //     //         function () {
        //     //             alert("❌ 密码修改失败！");
        //     //         }
        //     //     );
        //     // } else {
        //     //     updateAccountInfo();
        //     // }
        // });
        $('#submitAll').on('click', function () {
            var newPwd = $('#newPassword').val();
            var repeatPwd = $('#repeatedPassword').val();

            // 校验密码一致性
            if (newPwd !== repeatPwd) {
                alert("❌ 两次密码不一致！");
                return;
            }

            // 可选密码长度校验
            if (newPwd.length > 0 && (newPwd.length <= 2 || newPwd.length >= 8)) {
                alert("⚠️ 密码长度应在 3 到 7 位之间！");
                return;
            }

            // ✅ 构建账户对象（从表单中获取所有字段）
            var account = {
                username: $('#username').val(),
                password: newPwd, // 可选字段
                firstname: $('#firstname').val(),
                lastname: $('#lastname').val(),
                email: $('#email').val(),
                phone: $('#phone').val(),
                address1: $('#address1').val(),
                address2: $('#address2').val(),
                city: $('#city').val(),
                state: $('#state').val(),
                zip: $('#zip').val(),
                country: $('#country').val(),
                languagePreference: $('#languagePreference').val(),
                favouriteCategoryId: $('#favouriteCategoryId').val(),
                listOption: $('#listOption').is(':checked'),
                bannerOption: $('#bannerOption').is(':checked')
            };

            // ✅ 调用统一接口提交
            _account_service.updateAll(
                account,
                function (resp) {

                    alert('✅ 账户信息更新成功！');
                    $('#newPassword').val('');
                    $('#repeatedPassword').val('');
                },
                function (errorMsg) {
                    alert('❌ 账户信息更新失败！');
                }
            );
        });

    },

    // loadAccountInfo: function () {
    //     var _this = this;
    //     _account_service.checkLogin(
    //         //成功调用//res 为用户
    //         function (res) {
    //             $('#signOnSpan').hide();
    //             $('#signOutSpan').show();
    //             console.log(" 用户信息返回：", res);
    //             _this.showMessage(res);

    //             // alert("欢迎用户:" + res.username);
    //         },
    //         //失败调用
    //         function (errMsg) {
    //             $('#signOnSpan').show();
    //             $('#signOutSpan').hide();
    //             console.log('用户未登录');
    //         }
    //     );

    // },
    loadAccountInfo: function () {
        var _this = this;

        // ✅ 先检查登录
        _account_service.checkLogin(
            function (res) {
                $('#signOnSpan').hide();
                $('#signOutSpan').show();

                // ✅ 再请求详细信息
                _account_service.getCurrentUserInfo(
                    function (res) {
                        console.log("✅ 当前用户信息：", res.data);
                        _this.showMessage(res); // res.data 是用户信息
                    },
                    function (errMsg) {
                        console.error("❌ 获取用户详细信息失败：", errMsg);
                    }
                );
            },
            function (errMsg) {
                $('#signOnSpan').show();
                $('#signOutSpan').hide();
                console.log("❌ 用户未登录：", errMsg);
            }
        );
    },
    showMessage: function (res) {
        $('#username').val(res.data.username);
        $('#firstname').val(res.data.firstname); // 修正字段名
        $('#lastname').val(res.data.lastname); // 修正字段名
        $('#email').val(res.data.email);
        $('#phone').val(res.data.phone);
        $('#address1').val(res.data.address1);
        $('#address2').val(res.data.address2);
        $('#city').val(res.data.city);
        $('#state').val(res.data.state);
        $('#zip').val(res.data.zip);
        $('#country').val(res.data.country);
        $('#languagePreference').val(res.data.languagePref); // 修正字段名
        $('#favouriteCategoryId').val(res.data.favoriteCategory); // 修正字段名
        $('#listOption').prop('checked', res.data.mylistopt === 1); // 修正字段名
        $('#bannerOption').prop('checked', res.data.banneropt === 1); // 修正字段名
    }
}
module.exports = myAccount.init();